<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>

    <script>

        // 字符串
        //    string基本类型
        //    String对象

        //  无论是字符串还是字符串对象都拥有同样的属性和方法   
        //      length属性   下标
        //      字符串的length和下标只能用来读取，不能改变
        //      只能通过 + 进行拼接

        //   常见方法
        //      charAt(i)    通过下标访问字符   str[0] => str.chatAt(0)
        //      charCodeAt()  访问字符对应的ASCII值   'a'.charCodeAt(0) => 97
        //      String.fromCharCode()  把ASCII值转成对应的字符   String.fromCharCode(97) => 'a'

        //      concat , slice , includes , indexOf 
        //      substring(i , j)  substr(i , howmany)
        //      trim()
        //      split()
        //      replace()
        //      repeat()

        //    正则
        //      /^\w$/gi   \w数字字母下划线  \d数字   \s空白字符   [acd]或者  a|c|d   \转义 \[
        //      ?(0,1)  +(1+)  *(0,)   {m,n}
        //      test()   exec() 返回到的是匹配的元素 -> 数组

        //      字符串中可以接受正则的方法 split()  replace()  match()数组  search(可以接受正则的写法) -> indexOf




        var str = 'hi' ;
        var str2 = 'hi' ;
        console.log(str === str2);   // true

        var str3 = new String('hi') ;
        var str4 = new String('hi') ;
        console.log(str3 === str4);   // false

        console.log(str2 === str3);   // false

        console.log(typeof str);    // string
        console.log(typeof str3);   // object


        str[2] = 'w' ;
        console.log(str);



        var str = 'helloac' ;
        var reg = /[acd]/g ;
        console.log(str.match(reg));


        var str = 'goodgoodgoo' ;
        console.log(str.split('d'));



        // 练习---字符串的压缩统计
        var str = 'goodgoodgoo' ;
        // g3o6d2

    </script>
    
</body>
</html>